AWS ChatbotをSlackと連携させて、SlackからAWS CLIを使ってみた

AWS ChatbotをSlackと連携させて、SlackからAWS CLIを使ってみた

Clock Icon2024.11.14

こんにちは、ゲームソリューション部のsoraです。
今回は、AWS ChatbotをSlackと連携させて、SlackからAWS CLIを使ってみたことについて書いていきます。

クライアントの設定

Chatbotにて新しいクライアントを設定します。
今回はクライアントとしてSlackを選択します。
sr-chatbot-cli-01
sr-chatbot-cli-02

Chatbotでアクセス可能なSlackの情報は以下です。
認証するとSlack側でappとしてAWSが追加されます。
sr-chatbot-cli-03

チャネルの設定

クライアントが設定できたため、チャネルを設定していきます。
sr-chatbot-cli-04
sr-chatbot-cli-05

アクセス許可にてロールとガードレールポリシーを設定します。
チャネルIAMロールの場合は、Slackチャンネルに存在するメンバー全員に同じ権限を付与します。
ユーザロールの場合は、Slackチャンネルに存在するメンバーそれぞれに権限を付与できます。
Channelガードレールを設定することにより、上記のロールで権限付与されていても、ガードレールで許可されていない操作はできないようにすることができます。

SlackからAWS CLIの実行

SlackからAWS CLIを実行します。
利用できるコマンドには以下制限があります。
読み取りのみに制限されているわけではなく、リソースの作成などもできます。
https://docs.aws.amazon.com/chatbot/latest/adminguide/forbidden-permissions.html

試しにVPCの作成をやってみます。
以下実行してみると、コマンドを実行するか、オプションパラメータを追加するか、実行しないかを聞かれます。

@aws ec2 create-vpc --cidr-block 10.100.0.0/16 --region ap-northeast-1

sr-chatbot-cli-06
実行してみると、コマンドが実行されてAWS上でもVPCが作成されていることが確認できました。
sr-chatbot-cli-07

ガードレールポリシーで許可されていない場合は、以下のようにエラーが出ます。
sr-chatbot-cli-08

他には存在しないコマンドを実行した場合、近しい正しいコマンドを提示してくれました。
sr-chatbot-cli-09

最後に

今回は、AWS ChatbotをSlackと連携させて、SlackからAWS CLIを使ってみたことを記事にしました。
どなたかの参考になると幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.